$(function () {

    var exam_datagrid =$("#exam_datagrid");
    var exam_dialog = $("#exam_dialog");
    
    //给 a链接统一绑定事件
    $("a[data-cmd]").click(function(){
        var methodName = $(this).data("cmd");
        //调用方法
        methodObj[methodName]();
    });

    exam_datagrid.datagrid({
        url: '/examination/query.do',
        fit: true,
        fitColumns: true,
        columns: [[
            {field: 'id', title: '考试编号 ', width: 100},
            {field: 'potentialStudent', title: '考生 ', width: 100,formatter:function (value) {
                    return value ? value.name:"";
                }},
            {field: 'consultant', title: '营销人员', width: 100,formatter:function (value) {
                    return value ? value.username:"";
                }},
            {field: 'qqNum', title: 'QQ ', width: 100},
            {field: 'tel', title: '电话 ', width: 100},
            {field: 'grade', title: '意向班级 ', width: 100,formatter:function (value) {
                    return value?value.className:"";
                }},
            {field: 'testTime', title: '考试时间 ', width: 100},
            {field: 'examinationResult', title: '考试结果', width: 100,formatter:function (value) {
                    return value ? "<font color='green'>考试通过</font>" : "<font color='red'>考试不通过</font>";
                }},
            {field: 'remark', title: '备注 ', width: 100},
            {field: 'inputUser', title: '处理人 ', width: 100,formatter:function (value) {
                    return value ? value.username :"";
                }},
        ]],
        toolbar: '#exam_toolbar',
        singleSelect: true,
        rownumbers: true,
        pagination: true,
        onClickRow:function (index,row) {
            if(row.examinationResult){
                $("#state_btn").linkbutton({
                    text:"<font color='green'>已审核</font>"
                })
            } else {
                $("#state_btn").linkbutton({
                    text:"<font color='red'>未审核</font>"
                })
            }
        }
    });

    exam_dialog.dialog({
        width: 400,
        height: 300,
        closed: true,
        resizable: false,
        buttons: [
            {
                text: '保存',
                iconCls: 'icon-save',
                handler: function () {
                    methodObj.save();
                }
            },
            {
                text: '取消',
                iconCls: 'icon-cancel',
                handler: function () {
                    methodObj.cancel();
                }
            }
        ],
        //清空表单数据
        onClose: function () {
            $("#exam_form").form('clear');
        }
    });

    //使用一个对象来统一管理实践的方法
    var methodObj = {
        edit: function () {
            //判断是否选中了数据
            var row = exam_datagrid.datagrid('getSelected');
            console.log(row);
            if (!row) {
                //如果没有选中 提示框提示信息
                $.messager.alert("温馨提示", "请选中一条数据", "warning");
                return;
            }
            $(".easyui-textbox").textbox({
                readonly:false
            })
            $(".easyui-combobox").combobox({
                readonly:false
            })
            $(".easyui-datetimebox").datetimebox({
                readonly:false
            })
            $("input[name='remark']").prop('readonly',false);

            //选中了一条数据 回显表单数据(根据同名匹配原则 row对象中的属性名要与form中name相同才可以回显)
            if(row.potentialStudent){
                row["potentialStudent.id"]=row.potentialStudent.id;
            }
            if(row.inputUser){
                row["inputUser.id"]=row.inputUser.id;
            }
            $("#exam_form").form('load', row);

            //弹出表格窗口
            exam_dialog.dialog("open");

            //设置标题
            exam_dialog.dialog('setTitle', '编辑考试管理');
        },
        //保存操作
        save: function () {
            $("#exam_form").form('submit', {
                url: '/examination/saveOrUpdate.do',
                success: function (data) {
                    //转换为json对象
                    data = $.parseJSON(data);
                    if (data.success) {
                        //提示用户操作结果
                        $.messager.alert('温馨提示', '保存成功!', 'info', function () {
                            //关闭弹出框
                            methodObj.cancel();
                            // load 加载和显示第一页的所有行
                            exam_datagrid.datagrid('reload')
                        })
                    } else {
                        $.messager.alert('温馨提示', data.msg, 'error')
                    }
                }
            })
        },
        delete: function () {
            var row = exam_datagrid.datagrid('getSelected');
            if (!row) {
                //如果没有选中 提示框提示信息
                $.messager.alert("温馨提示", "请选中一条数据", "warning");
                return;
            }
            //弹出确认框 确认改变状态
            $.messager.confirm('确认', '你确定要删除吗', function (r) {
                if (r) {
                    //发送请求到后台
                    $.get("/examination/delete.do",{id:row.id}, function (data) {
                        if (data.success) {
                            $.messager.alert('温馨提示', '删除成功', 'info', function () {
                                //刷新当前页面
                                exam_datagrid.datagrid('reload');
                            });
                        } else {
                            $.messager.alert('温馨提示', data.msg, 'error');
                        }
                    })
                }
            })
        },
        //取消操作
        cancel: function () {
            exam_dialog.dialog('close');
        },
        load:function () {
            exam_datagrid.datagrid('reload')
        },
        audit:function () {
            var row = exam_datagrid.datagrid('getSelected');
            if (!row) {
                //如果没有选中 提示框提示信息
                $.messager.alert("温馨提示", "请选中一条数据", "warning");
                return;
            }

            $.get("/examination/audit.do",{id:row.id},function (data) {
                if(data.success){
                    $.messager.alert('温馨提示', '审核成功', 'info', function () {
                        //刷新当前页面
                        exam_datagrid.datagrid('reload');
                    });
                } else {
                    $.messager.alert('温馨提示', data.msg, 'error');
                }
            })
        },
        query:function () {
                var keyword = $("#keyword").combobox('getValue');
                console.log(keyword);
                exam_datagrid.datagrid('load',{
                    keyword:keyword
                })
        },
        exportXls: function () {
            //获取查询条件的值
            var keyword = $("#keyword").textbox("getValue");
            var url = "/examination/exportXls.do?"+ "keyword=" + keyword;
            //打开下载窗口
            window.open(url);
        }
    }
    $("#exam_view").linkbutton({
        onClick:function () {
            //判断是否选中了数据
            var row = exam_datagrid.datagrid('getSelected');
            console.log(row);
            if (!row) {
                //如果没有选中 提示框提示信息
                $.messager.alert("温馨提示", "请选中一条数据", "warning");
                return;
            }
            $(".easyui-textbox").textbox({
                readonly:true
            })
            $(".easyui-combobox").combobox({
                readonly:true
            })
            $(".easyui-datetimebox").datetimebox({
                readonly:true
            })
            $("input[name='remark']").prop('readonly',true);
            $("#keyword").combobox({
                readonly:false
            })
            //回显操作
            if(row.potentialStudent){
                row["potentialStudent.id"]=row.potentialStudent.id;
            }
            if(row.inputUser){
                row["inputUser.id"]=row.inputUser.id;
            }
            $("#exam_form").form('load', row);
            //选中了一条数据 回显表单数据(根据同名匹配原则 row对象中的属性名要与form中name相同才可以回显)

            //弹出表格窗口
            exam_dialog.dialog("open");

            //设置标题
            exam_dialog.dialog('setTitle', '查看考试管理');
        }
    })
    
    
});

